home *** CD-ROM | disk | FTP | other *** search
- property pCDList, pPageType, spriteNum, pType, pchar, pMember, pGhostMember, pImageResultList
- global gImage_code, gCd_code, gcdcodes, gkeywords
-
- on beginSprite me
- pCDList = utilsGetCDList()
- pPageType = #imageSearch
- pMember = sprite(me.spriteNum).member
- pGhostMember = member("imagesearchghost entry")
- pImageResultList = []
- member("search results field").text = EMPTY
- end
-
- on initImageSearch me, savedData
- if savedData.imageResultList <> VOID then
- pImageResultList = savedData.imageResultList
- cdCode = savedData.cdCode
- CDname = savedData.CDname
- localJumpToThumbnails(pPageType, pImageResultList)
- end if
- end
-
- on keyDown me
- if the key = RETURN then
- me.domainSearch()
- else
- pass()
- end if
- end
-
- on keyUp me
- imageCode = sprite(spriteNum).member.text
- if pMember.text.char.count >= pchar then
- i = newSearchImageCode(imageCode)
- pGhostMember.text = string(i)
- else
- pGhostMember.text = EMPTY
- end if
- pass()
- end
-
- on newSearchImageCode imagecodeToFind
- numOfChars = length(imagecodeToFind)
- repeat with imageCode in pImageResultList
- if chars(imageCode, 1, numOfChars) = imagecodeToFind then
- return imageCode
- end if
- end repeat
- end
-
- on domainSearch me
- if pGhostMember.text <> EMPTY then
- imageCode = pGhostMember.text
- sprite(spriteNum).member.text = pGhostMember.text
- me.newSearchForImageCode(pMember.text)
- else
- member("search results field").text = "No images matched your search criteria."
- member("error message").text = "No images matched your search criteria"
- end if
- end
-
- on newSearchForImageCode me, imageCode
- utilsSaveState(pPageType, #imageCode, member("imagesearch entry").text)
- utilsSaveState(pPageType, #ghostimagecode, member("imagesearchghost entry").text)
- utilsSaveState(pPageType, #imageResultList, pImageResultList)
- localJumpToThumbnails(pPageType, pImageResultList)
- end
-
- on searchForImageCode me, imageCode
- resultList = dbSearch("image_code", imageCode)
- if resultList <> EMPTY then
- imageResultList = utilsConvertToImageList(resultList)
- oldDelimiter = the itemDelimiter
- the itemDelimiter = "|"
- cdCode = item 2 of line 1 of resultList
- CDname = getProp(pCDList, symbol(cdCode))
- castLib("CDImages").fileName = swapChar(the pathname & "casts/" & CDname & getCastExt(), "/", getPathDelim())
- the itemDelimiter = oldDelimiter
- utilsSaveState(pPageType, #cdCode, cdCode)
- utilsSaveState(pPageType, #CDname, CDname)
- utilsSaveState(pPageType, #imageCode, member("imagesearch entry").text)
- utilsSaveState(pPageType, #ghostimagecode, member("imagesearchghost entry").text)
- utilsSaveState(pPageType, #imageResultList, imageResultList)
- localJumpToThumbnails(pPageType, imageResultList)
- else
- member("error message").text = "No images matched your search criteria"
- end if
- end
-
- on getPropertyDescriptionList
- p_list = [:]
- addProp(p_list, #pchar, [#format: #integer, #default: 0, #comment: "number of chars to search on: "])
- return p_list
- end
-